package lv.imho.client.services;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

import lv.imho.client.model.DataSourceTransferObject;
import lv.imho.client.model.DataTransferObject;

/**
 * Async counterpart of DataService.
 */
public interface DataServiceAsync {		
	
	public void saveData(DataTransferObject data, AsyncCallback<Boolean> callback);
	
	public void saveDataSource(DataSourceTransferObject dataSource, AsyncCallback<Boolean> callback);
	
	public void getData(List<DataSourceTransferObject> dataSources, Date date, AsyncCallback<List<DataTransferObject>> callback);
	
	public void getDataSources(AsyncCallback<List<DataSourceTransferObject>> callback);
	
	public void exists(DataTransferObject data, AsyncCallback<Boolean> callback);
	
	public void exists(DataSourceTransferObject data, AsyncCallback<Boolean> callback);
	
}
